package com.yuanjin.adapter;

import java.util.List;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;

public class ViewPagerAdapter extends PagerAdapter {
	private List<View> views;
	private Context context;

	// 构造函数
	public ViewPagerAdapter(List<View> views, Context context) {
		this.views = views;
		this.context = context;
	}

	/**
	 * PagerAdapter只缓存三张要显示的页面，如果滑动的页面超出了缓存的范围，就会调用这个方法对页面进行销毁
	 */
	@Override
	public void destroyItem(View container, int position, Object object) {
		((ViewPager) container).removeView(views.get(position));
	}

	/**
	 * 当要显示的页面可以进行缓存时，会调用这个方法进行页面的初始化， 将要显示的页面添加到container中，然后作为返回值返回即可
	 */
	@Override
	public Object instantiateItem(View container, int position) {
		((ViewPager) container).addView(views.get(position));
		return views.get(position);
	}

	/**
	 * 获取要滑动的页面的数量
	 */
	@Override
	public int getCount() {
		return views.size();
	}

	/**
	 * 判断是否是同一个页面，将两个参数比较返回即可
	 */
	@Override
	public boolean isViewFromObject(View arg0, Object arg1) {
		return (arg0==arg1);
	}

}
